home *** CD-ROM | disk | FTP | other *** search
- dnl***************************************************************************
- dnl Copyright (c) 1998-2000,2002 Free Software Foundation, Inc. *
- dnl *
- dnl Permission is hereby granted, free of charge, to any person obtaining a *
- dnl copy of this software and associated documentation files (the *
- dnl "Software"), to deal in the Software without restriction, including *
- dnl without limitation the rights to use, copy, modify, merge, publish, *
- dnl distribute, distribute with modifications, sublicense, and/or sell *
- dnl copies of the Software, and to permit persons to whom the Software is *
- dnl furnished to do so, subject to the following conditions: *
- dnl *
- dnl The above copyright notice and this permission notice shall be included *
- dnl in all copies or substantial portions of the Software. *
- dnl *
- dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS *
- dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF *
- dnl MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. *
- dnl IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, *
- dnl DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR *
- dnl OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR *
- dnl THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
- dnl *
- dnl Except as contained in this notice, the name(s) of the above copyright *
- dnl holders shall not be used in advertising or otherwise to promote the *
- dnl sale, use or other dealings in this Software without prior written *
- dnl authorization. *
- dnl***************************************************************************
- dnl
- dnl Author: Thomas E. Dickey 1996, etc.
- dnl
- dnl $Id: configure.in,v 1.36 2002/09/07 16:55:23 tom Exp $
- dnl This is a simple configuration-script for the ncurses test programs that
- dnl allows the test-directory to be separately configured against a reference
- dnl system (i.e., sysvr4 curses)
- dnl
- dnl If you're configuring ncurses, you shouldn't need to use this script.
- dnl It's only for testing purposes.
- dnl
- dnl See http://invisible-island.net/autoconf/ for additional information.
- dnl ---------------------------------------------------------------------------
- AC_PREREQ(2.13.20000819)
- AC_INIT(ncurses.c)
- AC_CONFIG_HEADER(ncurses_cfg.h:ncurses_tst.hin)
-
- AC_PROG_CC
-
- dnl Things that we don't need (or must override) if we're not building ncurses
- CC_G_OPT="-g" AC_SUBST(CC_G_OPT)
- CC_SHARED_OPTS=unknown AC_SUBST(CC_SHARED_OPTS)
- CPPFLAGS="$CPPFLAGS" AC_SUBST(CPPFLAGS)
- DFT_DEP_SUFFIX="" AC_SUBST(DFT_DEP_SUFFIX)
- DFT_OBJ_SUBDIR=`pwd|sed -e's:.*/::'` AC_SUBST(DFT_OBJ_SUBDIR)
- DFT_UPR_MODEL="NORMAL" AC_SUBST(DFT_UPR_MODEL)
- ECHO_LINK='@ echo linking $@ ... ;' AC_SUBST(ECHO_LINK)
- EXTRA_LIBS="" AC_SUBST(EXTRA_LIBS)
- LD="ld" AC_SUBST(LD)
- LDFLAGS_SHARED="" AC_SUBST(LDFLAGS_SHARED)
- LD_MODEL="" AC_SUBST(LD_MODEL)
- LD_SHARED_OPTS="" AC_SUBST(LD_SHARED_OPTS)
- LIBTOOL="" AC_SUBST(LIBTOOL)
- LIB_NAME=curses AC_SUBST(LIB_NAME)
- LIB_PREFIX="-l" AC_SUBST(LIB_PREFIX)
- LINK_TESTS="" AC_SUBST(LINK_TESTS)
- LINT=lint AC_SUBST(LINT)
- LINT_OPTS="" AC_SUBST(LINT_OPTS)
- LOCAL_LDFLAGS="" AC_SUBST(LOCAL_LDFLAGS)
- MATH_LIB="-lm" AC_SUBST(MATH_LIB)
- PROG_EXT="" AC_SUBST(PROG_EXT)
- TEST_ARGS="" AC_SUBST(TEST_ARGS)
- TEST_DEPS="" AC_SUBST(TEST_DEPS)
- cf_cv_abi_version="" AC_SUBST(cf_cv_abi_version)
- cf_cv_rel_version="" AC_SUBST(cf_cv_rel_version)
-
- dnl SunOS 4.x
- AC_ARG_WITH(5lib,
- [ --with-5lib use SunOS sysv-libraries],
- [LIBS="-L/usr/5lib $LIBS"
- CPPFLAGS="$CPPFLAGS -I/usr/5include"])
-
- dnl ---------------------------------------------------------------------------
- dnl Check for libutf8
- AC_DEFUN([CF_LIBUTF8],
- [
- AC_CACHE_CHECK(for putwc in libutf8,cf_cv_libutf8,[
- cf_save_LIBS="$LIBS"
- LIBS="-lutf8 $LIBS"
- AC_TRY_LINK([
- #include <libutf8.h>],[putwc(0,0);],
- [cf_cv_libutf8=yes],
- [cf_cv_libutf8=no])
- LIBS="$cf_save_LIBS"
- ])
-
- if test "$cf_cv_libutf8" = yes ; then
- AC_DEFINE(HAVE_LIBUTF8_H)
- LIBS="-lutf8 $LIBS"
- fi
- ])dnl
-
- dnl ---------------------------------------------------------------------------
- dnl NcursesW, installed in conventional location
- AC_ARG_WITH(ncursesw,
- [ --with-ncursesw use wide ncurses-libraries (installed)],
- [
- AC_DEFINE(_GNU_SOURCE)
- AC_DEFINE(_XOPEN_SOURCE_EXTENDED)
- AC_CHECK_FUNC(initscr,,[
- AC_CHECK_LIB(gpm,Gpm_Open)
- LIB_NAME=ncursesw
- AC_CHECK_FUNC(putwc,,[CF_LIBUTF8])
- for p in $HOME /usr/local /usr
- do
- if test -f $p/include/ncursesw/curses.h
- then
- CPPFLAGS="$CPPFLAGS -I$p/include/ncursesw"
- test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
- test $p != /usr && LIBS="-L$p/lib $LIBS"
- break
- elif test $p != /usr
- then
- if test -f $p/include/curses.h
- then
- CPPFLAGS="$CPPFLAGS -I$p/include"
- LIBS="-L$p/lib $LIBS"
- break
- fi
- fi
- done
- ],[test -d /usr/ccs/lib && LIBS="-L/usr/ccs/lib $LIBS"])])
-
- dnl Ncurses, installed in conventional location
- AC_ARG_WITH(ncurses,
- [ --with-ncurses use ncurses-libraries (installed)],
- [AC_CHECK_FUNC(initscr,,[
- AC_CHECK_LIB(gpm,Gpm_Open)
- LIB_NAME=ncurses
- for p in $HOME /usr/local /usr
- do
- if test -f $p/include/ncurses/curses.h
- then
- CPPFLAGS="$CPPFLAGS -I$p/include/ncurses"
- test $p != /usr && CPPFLAGS="$CPPFLAGS -I$p/include"
- test $p != /usr && LIBS="-L$p/lib $LIBS"
- break
- elif test $p != /usr
- then
- if test -f $p/include/curses.h
- then
- CPPFLAGS="$CPPFLAGS -I$p/include"
- LIBS="-L$p/lib $LIBS"
- break
- fi
- fi
- done
- ],[test -d /usr/ccs/lib && LIBS="-L/usr/ccs/lib $LIBS"])])
-
- dnl If we've not specified a library, assume we're using sysvr4 libraries
- dnl installed conventionally (e.g., SunOS 5.x - solaris).
-
- dnl Autoconf builds up the $LIBS in reverse order
-
- AC_CHECK_FUNC(initscr,,[
- AC_CHECK_LIB($LIB_NAME,initscr)])
- AC_CHECK_LIB(form,form_driver)
- AC_CHECK_LIB(menu,menu_driver)
- AC_CHECK_LIB(panel,new_panel)
-
- AC_TYPE_SIGNAL
-
- AC_STDC_HEADERS
- AC_HEADER_TIME
- AC_CHECK_HEADERS( \
- form.h \
- getopt.h \
- locale.h \
- menu.h \
- nc_alloc.h \
- nomacros.h \
- panel.h \
- sys/ioctl.h \
- sys/select.h \
- sys/time.h \
- termios.h \
- unistd.h \
- )
-
- AC_CHECK_FUNCS( \
- getnstr \
- gettimeofday \
- napms \
- resize_term \
- resizeterm \
- strdup \
- use_default_colors \
- vsscanf \
- wresize \
- )
-
- dnl ---------------------------------------------------------------------------
- dnl Solaris has a data item 'curses_version', which confuses AC_CHECK_FUNCS.
- dnl It's a character string "SVR4", not documented.
- AC_CACHE_CHECK(for function curses_version, cf_cv_func_curses_version,[
- AC_TRY_RUN([
- #include <curses.h>
- int main()
- {
- char temp[1024];
- sprintf(temp, "%s\n", curses_version());
- exit(0);
- }]
- ,[cf_cv_func_curses_version=yes]
- ,[cf_cv_func_curses_version=no]
- ,[cf_cv_func_curses_version=unknown])
- rm -f core])
- test "$cf_cv_func_curses_version" = yes && AC_DEFINE(HAVE_CURSES_VERSION)
-
- dnl ---------------------------------------------------------------------------
- dnl Check for likely values of acs_map[]:
- AC_CACHE_CHECK(for alternate character set array, cf_cv_curses_acs_map,[
- cf_cv_curses_acs_map=unknown
- for name in acs_map _acs_map __acs_map _nc_acs_map
- do
- AC_TRY_LINK([
- #include <curses.h>
- ],[
- $name['k'] = ACS_PLUS
- ],[cf_cv_curses_acs_map=$name; break])
- done
- ])
-
- test "$cf_cv_curses_acs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_ACS_ARRAY,$cf_cv_curses_acs_map)
-
- dnl ---------------------------------------------------------------------------
- dnl Check for likely values of wacs_map[]:
- AC_CACHE_CHECK(for wide alternate character set array, cf_cv_curses_wacs_map,[
- cf_cv_curses_wacs_map=unknown
- for name in wacs_map _wacs_map __wacs_map _nc_wacs
- do
- AC_TRY_LINK([
- #ifndef _XOPEN_SOURCE_EXTENDED
- #define _XOPEN_SOURCE_EXTENDED
- #endif
- #include <curses.h>
- ],[
- $name['k'] = *WACS_PLUS
- ],[cf_cv_curses_wacs_map=$name; break])
- done
- ])
-
- test "$cf_cv_curses_wacs_map" != unknown && AC_DEFINE_UNQUOTED(CURSES_WACS_ARRAY,$cf_cv_curses_wacs_map)
-
- dnl ---------------------------------------------------------------------------
- dnl Make an uppercase version of a variable
- dnl $1=uppercase($2)
- AC_DEFUN([CF_UPPER],
- [
- $1=`echo "$2" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
- ])dnl
-
- dnl ---------------------------------------------------------------------------
- dnl Check if curses.h defines the given type
- AC_DEFUN([CF_CURSES_TYPE],
- [
- AC_MSG_CHECKING(for type $1 in curses.h)
- AC_TRY_COMPILE([
- #ifndef _XOPEN_SOURCE_EXTENDED
- #define _XOPEN_SOURCE_EXTENDED
- #endif
- #include <curses.h>],[
- $1 foo
- ],cf_result=yes,cf_result=no)
- AC_MSG_RESULT($cf_result)
- if test $cf_result = yes ; then
- CF_UPPER(cf_result,have_type_$1)
- AC_DEFINE_UNQUOTED($cf_result)
- else
- AC_DEFINE_UNQUOTED($1,$2)
- fi
- ])dnl
-
- CF_CURSES_TYPE(attr_t,long)
- CF_CURSES_TYPE(mbstate_t,long)
-
- dnl ---------------------------------------------------------------------------
- dnl Check if we can include <sys/time.h> with <sys/select.h>; this breaks on
- dnl older SCO configurations.
- dnl [CF_SYS_TIME_SELECT]
-
- AC_MSG_CHECKING(if sys/time.h works with sys/select.h)
- AC_CACHE_VAL(cf_cv_sys_time_select,[
- AC_TRY_COMPILE([
- #include <sys/types.h>
- #ifdef HAVE_SYS_TIME_H
- #include <sys/time.h>
- #endif
- #ifdef HAVE_SYS_SELECT_H
- #include <sys/select.h>
- #endif
- ],[],[cf_cv_sys_time_select=yes],
- [cf_cv_sys_time_select=no])
- ])
- AC_MSG_RESULT($cf_cv_sys_time_select)
- test "$cf_cv_sys_time_select" = yes && AC_DEFINE(HAVE_SYS_TIME_SELECT)
-
- dnl ---------------------------------------------------------------------------
-
- AC_OUTPUT(Makefile,[
- cat >>Makefile <<TEST_EOF
-
- # These rules are generated so we do not rely on suffix rules, which do not
- # work consistently for different make-programs (the '\$(MODEL)/' confuses
- # some, and the '\$x' confuses others).
- TEST_EOF
- LIST=`make echo_tests`
- LAST=`make echo_suffix`
- for n in $LIST
- do
- N=`echo $n | sed -e s/${LAST}\$//`
- cat >>Makefile <<TEST_EOF
-
- \$(MODEL)/$N.o : $N.c \\
- test.priv.h \\
- ncurses_cfg.h
- @echo compiling $N; \$(CC) -c \$(CFLAGS_DEFAULT) $N.c
- TEST_EOF
- done
- ],[],sort)
-